drag: Split a setter
authorMatthias Clasen <mclasen@redhat.com>
Wed, 4 Jul 2018 06:32:27 +0000 (08:32 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 12 Jul 2018 11:02:42 +0000 (13:02 +0200)
In preparation for moving the suggested action
to the x11 backend, split the setter off.

gdk/gdkdrag.c
gdk/gdkdragprivate.h
gdk/x11/gdkdnd-x11.c

index 63c76153f74c4278b7cd883fc079565ae7814dde..ff8472d259cca8509052449002d6496eef3b4e02 100644 (file)
@@ -249,7 +249,7 @@ gdk_drag_set_property (GObject      *gobject,
     case PROP_ACTIONS:
       {
         GdkDragAction actions = g_value_get_flags (value);
-        gdk_drag_set_actions (drag, actions, drag->suggested_action);
+        gdk_drag_set_actions (drag, actions);
       }
     break;
 
@@ -610,11 +610,8 @@ gdk_drag_write_finish (GdkDrag       *drag,
 
 void
 gdk_drag_set_actions (GdkDrag       *drag,
-                      GdkDragAction  actions,
-                      GdkDragAction  suggested_action)
+                      GdkDragAction  actions)
 {
-  drag->suggested_action = suggested_action;
-
   if (drag->actions == actions)
     return;
 
@@ -623,6 +620,13 @@ gdk_drag_set_actions (GdkDrag       *drag,
   g_object_notify_by_pspec (G_OBJECT (drag), properties[PROP_ACTIONS]);
 }
 
+void
+gdk_drag_set_suggested_action (GdkDrag       *drag,
+                               GdkDragAction  suggested_action)
+{
+  drag->suggested_action = suggested_action;
+}
+
 void
 gdk_drag_set_selected_action (GdkDrag       *drag,
                               GdkDragAction  action)
index 835dd2680711909722a472150c51d696b4362944..71dca2a8888285bdc46d238e3e950ea7b5732647 100644 (file)
@@ -78,7 +78,8 @@ struct _GdkDrag {
 void     gdk_drag_set_cursor          (GdkDrag        *drag,
                                        GdkCursor      *cursor);
 void     gdk_drag_set_actions         (GdkDrag        *drag,
-                                       GdkDragAction   actions,
+                                       GdkDragAction   actions);
+void     gdk_drag_set_suggested_action (GdkDrag       *drag,
                                        GdkDragAction   suggested_action);
 void     gdk_drag_set_selected_action (GdkDrag        *drag,
                                        GdkDragAction   action);
index b45542ff4ac5d928cd9d732a07daf868e1b8eb2b..e6b410efa0928033c63565bbeb20187203b2fd7d 100644 (file)
@@ -1477,7 +1477,8 @@ gdk_x11_drag_drag_motion (GdkDrag *drag,
   if (drag_x11->drag_surface)
     move_drag_surface (drag, x_root, y_root);
 
-  gdk_drag_set_actions (drag, possible_actions, suggested_action);
+  gdk_drag_set_actions (drag, possible_actions);
+  gdk_drag_set_suggested_action (drag, suggested_action);
 
   if (protocol == GDK_DRAG_PROTO_XDND && drag_x11->version == 0)
     {